NVM is an electronic memory device with specific abilities such as maintaining data for a certain time after power off, fast data access and shockproof. Therefore, NVM is widely used in memory cards, solid state drives (SSD) and portable multimedia devices. NVM includes a plurality of blocks for storing data. Specifically, according to the using situation, a block is mainly named either a data block or a spare block. Data block refers to a block stores (valid) data and on contrary a spare block refers to a block does not store valid data. Usually spare blocks are related to a spare pool or a spare queue and data blocks are related to a data pool. A spare block is selected from the spare pool or spare queue to save data from a host and at this stage it is named a temporary block. When the temporary block is filled with data or does not save data anymore, the temporary block is named a data block. A following data is saved to a next temporary block. The above procedure repeats continuously. A wear leveling and garbage collection procedure are disclosed to make the use of the blocks evenly and recycle the data blocks having less valid data individually.
NVM has a serious defect and that is the limitation of erase times. According to the specification of NVM products, different numbers of erase times for different types of NVM is recommended. Taking Flash memory as an example, TLC (Triple-Level Cell) type of Flash is 1K (thousand) but SLC (Single-Level Cell) type of Flash is 100K. If the number of erase times is reached, it means the block is not assumed to work normally. It may be out of work shortly. If blocks of a NVM are not used evenly, some blocks may be out of work at an early stage. In such situation, a fewer block are available to save data. This causes the lifetime of the device shorter than expectation. On the other hand, if blocks can be used evenly by implementing wear leveling procedure, in theory the lifetime of the device is extended obviously. An efficient and prompt wear leveling procedure is desired.